﻿// <copyright file="AppSettingsModule.cs" company="EffuEfface">
//      Copyright (c) Effu Efface Consulting  All rights reserved.
// </copyright>
// <author>Ryan R Sites</author>

namespace TVersiPlay.AppSettings
{
    using Microsoft.Practices.Prism.Modularity;
    using Microsoft.Practices.Prism.Regions;
    using Microsoft.Practices.Unity;
    using TVersiPlay.AppSettings.ViewModels;
    using TVersiPlay.AppSettings.Views;
    using TVersiPlay.Common.Interfaces;
    using TVersiPlay.Common;
   
    public class AppSettingsModule: IModule
    {
        private IUnityContainer container;
        private IRegionManager regionManager;

        public AppSettingsModule(IUnityContainer container)
        {
            this.container = container;
        }

        public void Initialize()
        {
            this.RegisterTypesAndServices();
            this.RegisterViewsWithRegions();
        }
               

        private void RegisterViewsWithRegions()
        {            
            
        }

        protected void RegisterTypesAndServices()
        {
            this.container.RegisterType<IView, AppSettingsView>(ViewNames.AppSettingsView);
            this.container.RegisterType<IAppSettingsViewModel, AppSettingsViewModel>();

            //this.container.RegisterType<IEmployeeService, EmployeeService>(new ContainerControlledLifetimeManager());

            //this.container.RegisterType<IEmployeesView, EmployeesView>();

            //this.container.RegisterType<IEmployeesListView, EmployeesListView>();
            //this.container.RegisterType<IEmployeesListPresenter, EmployeesListPresenter>();

            //this.container.RegisterType<IEmployeesDetailsView, EmployeesDetailsView>();
            //this.container.RegisterType<IEmployeesDetailsPresenter, EmployeesDetailsPresenter>();
        }

        #region declarations
        #endregion //declarations

        #region constructors
        #endregion //constructors

        #region properties
        #endregion //properties

        #region methods
        #endregion //methods

        #region events
        #endregion //events
    }
}
